package xyz.weblade.beans.factory;

import xyz.weblade.beans.BeansException;
import xyz.weblade.beans.factory.config.AutoWireCapableBeanFactory;
import xyz.weblade.beans.factory.config.BeanDefinition;
import xyz.weblade.beans.factory.config.ConfigurableBeanFactory;

/**
 * 提供分析和修改Bean对象与预先实例化的接口
 */
public interface ConfigurableListableBeanFactory extends ListableBeanFactory, AutoWireCapableBeanFactory, ConfigurableBeanFactory {

    BeanDefinition getBeanDefinition(String beanName) throws BeansException;

    void preInstantiateSingletons() throws BeansException;
}
